Skip to content

Workflow: Add issue triage TaskSpawner to self-development#361

Closed
axon-agent[bot] wants to merge 1 commit intomainfrom
axon-fake-strategist-manual-1771221484
Closed

Workflow: Add issue triage TaskSpawner to self-development#361
axon-agent[bot] wants to merge 1 commit intomainfrom
axon-fake-strategist-manual-1771221484

Conversation

@axon-agent
Copy link

@axon-agent axon-agent bot commented Feb 16, 2026

🤖 Axon Agent @gjkim42

Summary

Adds axon-triage.yaml — a new self-development TaskSpawner that automates the issue triage bottleneck in the Axon development pipeline.

Problem

The self-development pipeline has a manual bottleneck at the triage step:

Issue created → label.yaml adds needs-triage/needs-kind/needs-priority/needs-actor
                    ↓
            [MANUAL: Human triages] ← bottleneck (21 untriaged issues today)
                    ↓
            triage-accepted + kind/* + priority/* + actor/axon
                    ↓
            axon-workers picks up and fixes the issue

Every new issue gets needs-triage, needs-kind, needs-priority, and needs-actor labels automatically (via .github/workflows/label.yaml). A human must then read each issue and apply triage-accepted, kind/*, priority/*, and actor/* labels before the axon-workers spawner can pick it up. Currently there are 21 open issues stuck at needs-triage.

Solution

A new TaskSpawner that watches needs-triage issues and applies labels automatically:

Issue created → label.yaml → axon-triage labels it → axon-workers picks it up (if actor/axon)

Design decisions:

  • Uses sonnet (not opus) — triage is a classification task, doesn't need the most capable model
  • Short TTL (600s) — triage tasks are quick; fast cleanup allows re-processing
  • maxConcurrency: 1 — avoids race conditions on label application
  • excludeLabels: [triage-accepted, axon/needs-input] — won't re-triage already-triaged issues
  • Conservative actor/axon assignment — prompt instructs the agent to only assign actor/axon when the fix is clearly within agent capabilities
  • Fallback to axon/needs-input — when the issue is ambiguous, asks for human clarification instead of guessing
  • No code changes, no branch — triage tasks only read and label; no workspace branch needed (no branch conflicts)

Label taxonomy in the prompt matches the project's existing labels exactly:

  • kind/bug, kind/feature, kind/api, kind/docs
  • priority/critical-urgent, priority/imporant-soon, priority/import-longterm, priority/backlog
  • actor/axon, actor/human
  • good first issue (optional)

Changes

  • self-development/axon-triage.yaml — New TaskSpawner config
  • self-development/README.md — Documentation for the new spawner

Test plan

  • Review the prompt template for correctness against the label taxonomy
  • Deploy to the dev cluster and verify it triages a test issue correctly
  • Verify it doesn't re-triage already-triaged issues (excludeLabels works)
  • Verify the triage-accepted label triggers needs-triage removal via label.yaml

🤖 Generated with Claude Code


Summary by cubic

Automates issue triage with a new TaskSpawner that reads new issues, applies labels, and marks them as triaged to unblock axon-workers. This removes the manual triage bottleneck.

  • New Features

    • Adds self-development/axon-triage.yaml to watch issues with needs-triage and skip triage-accepted and axon/needs-input.
    • Applies kind/, priority/, actor/* and then adds triage-accepted; falls back to axon/needs-input when unclear.
    • Uses sonnet, TTL 600s, maxConcurrency 1, pollInterval 5m for safe, cheap triage.
    • Conservative actor/axon assignment; labels-only (no code or PRs).
    • Updates README with usage and pipeline context.
  • Migration

    • Deploy with: kubectl apply -f self-development/axon-triage.yaml

Written for commit 0a1b31d. Summary will update on new commits.

Add axon-triage.yaml that automates the issue triage bottleneck by
watching for issues labeled needs-triage and applying appropriate
kind/*, priority/*, and actor/* labels. This closes the gap between
issue creation and agent pickup in the self-development pipeline.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 2 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="self-development/axon-triage.yaml">

<violation number="1" location="self-development/axon-triage.yaml:64">
P1: Typo in priority label: `priority/imporant-soon` should be `priority/important-soon`. The agent will apply a misspelled label that won't match any existing GitHub label or downstream automation. This same typo also appears on line 85 in the decision guidelines.</violation>

<violation number="2" location="self-development/axon-triage.yaml:65">
P1: Typo in priority label: `priority/import-longterm` should be `priority/important-longterm`. The agent will apply a misspelled label that won't match any existing GitHub label or downstream automation. This same typo also appears on line 86 in the decision guidelines.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

### Priority (exactly one required)
- `priority/critical-urgent` — Blocks usage or development; must fix immediately
- `priority/imporant-soon` — Should be addressed in the next development cycle
- `priority/import-longterm` — Valuable but not time-sensitive
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Typo in priority label: priority/import-longterm should be priority/important-longterm. The agent will apply a misspelled label that won't match any existing GitHub label or downstream automation. This same typo also appears on line 86 in the decision guidelines.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At self-development/axon-triage.yaml, line 65:

<comment>Typo in priority label: `priority/import-longterm` should be `priority/important-longterm`. The agent will apply a misspelled label that won't match any existing GitHub label or downstream automation. This same typo also appears on line 86 in the decision guidelines.</comment>

<file context>
@@ -0,0 +1,116 @@
+      ### Priority (exactly one required)
+      - `priority/critical-urgent` — Blocks usage or development; must fix immediately
+      - `priority/imporant-soon` — Should be addressed in the next development cycle
+      - `priority/import-longterm` — Valuable but not time-sensitive
+      - `priority/backlog` — Nice to have; may or may not be addressed
+
</file context>
Fix with Cubic


### Priority (exactly one required)
- `priority/critical-urgent` — Blocks usage or development; must fix immediately
- `priority/imporant-soon` — Should be addressed in the next development cycle
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 16, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Typo in priority label: priority/imporant-soon should be priority/important-soon. The agent will apply a misspelled label that won't match any existing GitHub label or downstream automation. This same typo also appears on line 85 in the decision guidelines.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At self-development/axon-triage.yaml, line 64:

<comment>Typo in priority label: `priority/imporant-soon` should be `priority/important-soon`. The agent will apply a misspelled label that won't match any existing GitHub label or downstream automation. This same typo also appears on line 85 in the decision guidelines.</comment>

<file context>
@@ -0,0 +1,116 @@
+
+      ### Priority (exactly one required)
+      - `priority/critical-urgent` — Blocks usage or development; must fix immediately
+      - `priority/imporant-soon` — Should be addressed in the next development cycle
+      - `priority/import-longterm` — Valuable but not time-sensitive
+      - `priority/backlog` — Nice to have; may or may not be addressed
</file context>
Fix with Cubic

@gjkim42 gjkim42 closed this Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant